「良く分からないが経験のメモだ」
「なんだい?」
「Azure SDK 2.2から2.3にしたら問題が出まくりで対処を迫られた」
「非互換性が多いわけだね?」
「DLLのバージョン競合問題とかその辺は横におく」
「うん」
「問題は、AzureのStorage Libraryが2.xから3.xになったこと」
「それで?」
「どうも、1.x時代のAPIと2.xのAPIが混在したアプリは3.xで問題を起こすようだ」
「具体的には?」
「2.xのAPIでテーブルに書いて1.xのAPIであるTableServiceContext経由でクエリをしようとするとこうなるようだ」
クライアントとサービスの間で型の不一致が発生しました。型 'CloudCommonLib.ApplicationUser' はエンティティ型ではありませんが、応答ペイロード内の型はエンティティ型を表します。クライアントで定義された型がサービスのデータ モデルと一致するようにするか、クライアントでサービスの参照を更新してください。
「それでどうすればいいわけ?」
「更新すべきサービスの参照なんて無いし、何をどうすればいいのか全く分からなかったのだが、AzureのStorage Libraryを4.0に上げてやっと分かった。TableServiceContextはObsolete扱いになって警告がバシバシ出るので、これを使わないように書き換えた。つまり2.x以降のAPIに統一した。これでとりあえずローカルで動いた」
「へー。もう4.0なんてあるんだ。でもそれを使うのは大変じゃないか?」
「nugetでアップグレードするだけだから簡単だよ」
「ひぇ~」
感想 §
「結局、昔Azureをものにしようと思って学んだことは、今はほとんど使えなくなっている」
「泣ける話だね」
「あの努力は何の意味があったんだ! CloudCommonLibにあるTableServiceContextを作成するサービスメソッドの存在意義は何なんだ!」
「もう無いってことだね」